package com.ruanxie.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.util.HashMap;
import java.util.Map;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class User {
    private String accountId;
    private String username;
    private String password;
    private String role;
    private String avatar;



    //role属性值对应值的含义
    //TODO 正在完善：实现role属性对应值的映射
    //这里看了下写在数据库好像也没啥必要基本不会变，用枚举类有点麻烦，写在外面可能会不知道含义，直接用静态内部类了
    @Getter
    @Setter
    @AllArgsConstructor
    public static class RoleInfo {
        private String roleName;
        private String rolePath;//对应请求路径的开头
    }
    //信息的维护都在这个Mapping中的初始化

    public static final Map<String, RoleInfo> roleMapping = new HashMap<>();
    static {
        // 初始化角色到 RoleInfo 的映射
        roleMapping.put("1", new RoleInfo("学生", "/api/student"));
        roleMapping.put("2", new RoleInfo("教学管理员", "/api/teaching"));
    }

}
